#pragma once
#include<stdio.h>
#include<stdlib.h>


void BubbleSort(int* arr,int size);//冒泡排序 时间复杂度O(N^2)
void Print(int* arr, int sz);
void InsertSort(int* arr, int size);//直接插入排序 时间复杂度O(N^2) 
//实际情况中直接插入排序的速度要比冒泡排序快两到三倍
void ShellSort(int* arr, int size); //希尔排序 是直接插入排序的优化，时间复杂度为O(N*logN) 但研究表明具体是O(N^1.3)
//希尔排序的缺点是没有直接插入排序稳定
void SelectSort(int* arr, int sz);//时间复杂度O(N^2)
//​直接插入排序 > 双向选择排序 ≈ 直接选择排序 > 冒泡排序
void QuickSort(int* arr, int left, int right);//快速排序 时间复杂度为O(N*LogN)

void QuickSortNonR(int* arr, int left, int right);

